import { request } from '../request';

export namespace Api.Config {
  export interface ConfigParam {
    paramKey: string;
    paramName: string;
    defaultValue: boolean;
    description?: string;
  }

  export interface ConfigGroup {
    groupKey: string;
    groupName: string;
    params: ConfigParam[];
  }

  // 获取配置列表的响应
  export type GetConfigListResponse = ConfigGroup[];

  // 保存配置的请求体（键为groupKey，值为参数键值对）
  export interface SaveConfigRequest {
    [groupKey: string]: {
      [paramKey: string]: boolean;
    };
  }
}

// 获取配置列表（修正返回类型，确保data为ConfigGroup[]）
export function fetchGetConfigList() {
  return request<Api.Config.GetConfigListResponse>({
    url: '/systemCompany/getConfigList',
    method: 'get'
  });
}

// 保存配置
export function fetchSaveConfig(data: Api.Config.SaveConfigRequest) {
  return request<boolean>({
    url: '/systemCompany/saveConfig',
    method: 'post',
    data
  });
}
